More and more organizations are outsourcing software product development but many are hard pressed to know much about managing a team that may be thousands of miles away on another continent. Too often, companies think about offshore product development (OPD) only as a means to cutting costs and accelerating time to market. Such an approach can produce poor results with your projects if you don’t take into account certain issues like cultural barriers, metrics and workflows.
The smart strategy is to focus on the needs and skills of the team and to implement procedures that will help manage them better. Your standard bottom-line goals -- cutting costs and accelerating time to market -- will take care of themselves if you can follow these eight tips for managing OPD.
10. Establish Roadmap for Refinements
To ensure that the offshore team continues to increase its value to the project team, it is important to leverage the daily, weekly and monthly reports/metrics to identify areas of improvement/streamlining for testing processes and test strategies. These refinements should be prioritized and scheduled for implementation by the team, and tracked for progress along with other project deliverables.
9. Don’t get hung up on cost
The lowest rates don’t always equate to the lowest total cost of the relationship and ownership of the end product. More importantly, the lowest rate doesn’t necessarily solve the business challenges you are encountering in this ever-changing world. The offshore team is a partner and should become an extension to the project team. Many OPD projects fail because they were railroaded by a cost saving agenda.
8. Don’t Forget Metrics
Offshore team deliverables and activities should be gauged with quantifiable metrics such as timeline delays, actual-to-estimated effort, QA-to-production defect ratios, and so on. Metrics should be established under at least three categories: timelines, productivity, and quality. These metrics should be established at the beginning of the project, and tracked either by release or on a monthly basis.
7. Use Root Cause Analysis on defects
Root cause analysis (RCA) metrics on defects can be leveraged to improve software quality by fixing the ineffective areas of the software development process such as requirements, design, code verification, unit testing, test planning, and QA testing. The end result is drastic improvements in the overall quality of the software, and that means happy customers and lower development costs.
6. Establish Process Workflows
A clearly defined testing activity workflow should be established and reviewed with the offshore team, to ensure that all team activities are synchronized. Documenting a process workflow allows the team to streamline, validate and verify expected activities that could impact the project delivery timelines. It can also have the advantage of automating redundant tasks and ensuring that uncompleted tasks are followed up, not overlooked.
5. Track Detailed Onshore/Offshore Planning and Tasks
To ensure that the offshore team understands the assigned tasks and is progressing as expected, it is very important to have a milestone-driven WBS (Work Breakdown Structure) that identifies the effort associated with each task, and identifies the timeline of when the tasks need to be completed. This level of detail ensures that everyone is clear on their assignments, and that any delays (and corresponding affects) can be identified as early as possible, so that a mitigation plan can be implemented if need be. Team progress on assignments and activities should be followed up with daily, weekly and monthly reporting, leveraging defined templates where possible.
4. Create Strong Communications
The distance between remote teams working on the same project can be eliminated by use of communication tools such as IMs, VOIP-based phone calls, online meeting tools and other electronic mediums. However, communication is only as good as the information provided. All relevant documentation and domain knowledge must be continuously shared with members of the offshore team.
3. Clearly Define Roles and Responsibilities
To ensure that all members of the project team understand their expected tasks, it is vital to establish clear roles and corresponding responsibilities early on. Create a collaborative, pyramid-style team structure for the offshore team, so that the key people responsible for daily communication with the rest of the project team are identified, along with an obvious reporting hierarchy.
2. Eliminate Language Barriers
Working with remote teams on different continents/countries requires strong and effective communication. It’s critical for the key contacts between the offshore team and the project team to familiarize themselves with the pronunciation and grammatical styles of each other, while also ensuring that the offshore team obtains International English certifications, such as TOEFL. In addition, when possible, I recommend that the team leaders from the vendor side and client side visit each other’s offices to understand the culture of the companies and to instill a sense of partnership.
1. Know Your Team
It’s important to address people correctly. People respond well when somebody knows how to spell and pronounce their name. To infuse a sense of team spirit, attach a face to the person who is communicating via e-mail, phone or IM. Have a kick-off meeting for a project team, where each person introduces himself or herself with some basic personal information such as a hobby or interest, to help establish a ‘human-side’ to the offshore team. While meeting in person might not be a possibility or even desirable, given that we are talking here about learning to create global team-working, the liberal use of video conferencing can really improve the relationship with remote teams – and people need to get used to it.
In summary
Establishing and managing an offshore team is a complex challenge. Cultural differences, time zone variations and lack of face-to-face time contribute to the intricate nature of the offshore team model. In addition, some companies focus too much on cost-cutting objectives. To successfully manage an offshore test team, a company needs to focus on people, processes and communications.